Runtime Checking for Program Verification Systems
نویسندگان
چکیده
One of the goals of program verification is to show that a program conforms to a specification written in a formal logic. Oftentimes, this process is hampered by errors in both the program and the specification. The time spent in identifying and eliminating these errors can even dominate the final verification effort. A runtime checker that can evaluate formal specifications can be extremely useful for quickly identifying such errors. Such a checker also enables verification approaches that combine static and dynamic program analyses. Finally, the underlying techniques are also useful for executing expressive high-level declarative languages. This paper describes the run-time checker we are developing in the context of the Jahob verification system. One of the challenges in building a runtime checker for a program verification system is that the language of invariants and assertions is designed for simplicity of semantics and tractability of proofs, and not for run-time checking. Some of the more challenging constructs include existential and universal quantification, set comprehension, specification variables, and formulas that refer to past program states. In this paper, we describe how we handle these constructs in our runtime checker, and describe several directions for future work.
منابع مشابه
Runtime Verification on Robotics Systems
Runtime verification is a technique for generating monitors from formal specification of expected behaviors for the underlying system. It can be applied to automatically evaluate system execution, either on-line or off-line, analyzing extracted execution traces; or it can be used online during operation, potentially steering the application back to a safety region if a property is violated. As ...
متن کاملOn the Role of Static Analysis in Operating System Checking and Runtime Verification
of the RPE On the Role of Static Analysis in Operating System Checking and Runtime Verification by Abhishek Rai Stony Brook University 2005 Software inevitably contains bugs. For certain classes of software like operating systems, reliability is a critical requirement. Recent research has shown that several commodity operating systems, even after careful design and extensive testing, still cont...
متن کاملExpanding Database Systems into self-verifying Entities
The paper presents work-in-progress aiming at deploying runtime verification techniques to observe whether state changes in a database system conform with temporal business rules. A high level language for tailoring enterprise database systems with temporal business rules is defined. Furthermore we present an algorithmic framework for checking temporal business rules at runtime, i.e. we recomme...
متن کاملA brief account of runtime verification
In this paper, a brief account of the field of runtime verification is given. Starting with a definition of runtime verification, a comparison to well-known verification techniques like model checking and testing is provided, and applications in which runtime verification brings out its distinguishing features are pointed out. Moreover, extensions of runtime verification such as monitor-oriente...
متن کاملExecution-Based Model Checking of Interrupt-Based Systems
Execution-based model checking (EMC) is a verification technique based on executing a multi-threaded/multiprocess program repeatedly in a systematic manner in order to explore the different interleavings of the program. This is in contrast to traditional model checking, where a model of a system is analyzed. Several execution-based model-checking tools exist at this point, such as for example V...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2007